var fs = require("fs");
var rs = fs.createReadStream("./1.png");
var ws = fs.createWriteStream("./b.png");

//传输中
rs.on("data",(data)=>{
    //ws.write如果返回false 代表写入操作出了问题（可写流的缓冲区满了!!!）
    var flag = ws.write(data);
    if(flag === false){
        //暂停可读流
        //readable.pause() 方法将会使 flowing 模式的流停止触发 'data' 事件， 进而切出 flowing 模式。
        rs.pause()
    }
})

//在可写流适合恢复写入数据时触发 'drain' 事件。  代表可写流的缓冲区又有空间了
ws.on("drain",()=>{
    //让可读流切换到流动模式
    //readable.resume() 方法会重新触发 'data' 事件, 将暂停模式切换到流动模式。
    rs.resume()
})


//读完
rs.on("end",()=>{
    ws.end();
})
//写完
ws.on("finish",()=>{
    console.log("success")
})